#
  • (+91) 943 407 1193
  • nihar.mohanty@stpi.in

Week-9 Assignments

 

Mechanical & Machine Design

   
 

Introduction

   
 

Design may be defined as an iterative decision making process to formulate a plan by which resources are optimally converted into systems, processes or devices in order to solve a specific problem or to fulfill a specific need. It begins with a need, a problem, an idea or a concept and ends with concrete information, in the form of drawings, computer representation or in any other form, which helps in manufacturing and utilization of a product. It includes the processes of conception, invention, visualization, calculation, refinement and specification of details that determine the form of a product.

 

The design process begins with identification of a need and a decision to do something about it. After a number of iterations, the process ends with the presentation of the plans for satisfying the need. Depending on the nature of the design task, several phases may be repeated before the design is finalized.

 

Machine is a combination of linkages having definite motion and capable of performing useful work. Machine Design is creation of plans for the machine to perform the desired functions. Machine design can be defined as creation of right combination of correctly proportioned moving and stationary components so constructed and joined as to enable the liberation, transformation and utilization of energy. Scientific principles, technical knowledge and imagination are used to develop a machine or mechanical system to perform specific functions with maximum economy and efficiency. It includes the creation of new better machines or improving the existing ones.

 

In machine design, the designer’s task is to determine the motion, forces and energy transfer involved so as to determine the sizes, shapes and materials for each element of the machine. When any component of machine ceases to perform its intended function, machine element or machine is said to have failed. Generally the machine elements are designed on the basis of strength and rigidity so that they are able to withstand the applied load with permissible deformation or stress. In addition to strength and stiffness, other factors that are considered in design of machine element are weight, cost, wear, safety, reliability etc. Design work may involve concentrating on one component at a time, but it is very important to simultaneously consider its relation with the other components and the product as a whole.

 

 

In machine design, as in any other kind of design, the following steps are generally followed:

1. Problem to be solved or desired purpose of the machine is completely and clearly stated.
2. Possible mechanisms that will provide the desired motion or set of motions are selected.
3. Forces acting on and energy transmitted by each element of the machine are determined.
4. Best suitable material is selected for each of the machine element.
5. Allowable values of stress and deflection are determined for each machine element, depending upon its material and functional requirements.
6. Size and shape of each machine element is determined so that it can withstand the applied loads without failure.
7. Dimensions of the machine elements are modified considering manufacturing aspects.
8. Assembly and detailed drawings of the machine are made with complete specification of materials and manufacturing methods.

   
       
Project Introduction ::
     

The invention of the X-Y plotters is to recording or plotting two dimensional data on a rectangular coordinate system. This study emphasizes the fabrication of a XY plotter by using mechanism from scanner and microcontroller system (Arduino) to control the movement of XY axis. Modeling and analysis on X-Y plotter is carried out through the computer linked with the Arduino software.


The X-Y plotter is designed to recording and plotting two-dimensional data on a rectangular coordinate system. The material selection of the mechanism was made considering the cost and wide range of applications such as servo motor. Servo motor can be differentiated through the cost, peak torque capability, speed range to compromise the standard and application of the system. The dynamics of a dual-drive servo mechanism and develops an XY gantry model consisting of two motors for Y control with another motor sliding the gantry in the X direction. The design uses two parallel rails for Y-motion with a bar spanning across the rails which holds the end effectors of the system. In the other hand, the accuracy of plotting is the main issue to be concerned on the fabrication of X-Y plotter. G-Code is a function to tell the machine to move to various points at the desired speed, control the spindle speed, and turn on and off various coolants . In this X-Y plotter system, G-Code is employed by the part programmer to specifying the coordinates of the point to be moved and giving the normal vector to the surface at that point. For the core system, Arduino system is most familiar and low cost and easily controlled function of the Arduino system contributed on simplifying the building circuit of the microcontroller in the X-Y plotter.

   
     
Methodology ::    
     

We need to find something to attach the one of the stepper-rails vertically to our construction the Y axis of our CNC machine. Attach it on your surface, in this part you will need some screws and nuts. The X axis is attached to two plastic parts and it was cut it to fit the construction. Ensure to put the Y axis straight to x-y plotter base and the X axis vertically in this (90 degrees). On that surface the servo motor (Z axis) will be attached to the pen base. Pen t must be able to move up and down with the aid of servo motor. Now it will have to attach a hard surface on Y axis. On this, it will put the paper piece to print the texts or images that we programmed The printing area. For steppers motors wiring, it will find a 'testing' code for x and y axis. If the steppers doesn't work properly, the correction can be obtained by working combination by changing the cables between them and the L293D ICs. To make G-Code files that are compatible with this X-Y plotter, the Java Programming is used.

   
     

Myself and my group members discussed with our remote instructor Mr. Sibu Saman, who insisted us for making a Vertical Plotter and has given us the basic concept and ideas to make a vertical plotter using arduino and stepper motor. Our group project is a hanging drawing machine (Vertical Plotter) that moves its hand in both X & Y  axes . The hand consists of a pen attached to a 3D printed holder which connected to two stepper motors from the right and left sides. The machine should be attached vertically to a board and being controlled by a G-Code.


The aim of this machine is to enable the user to draw anything on a board or a wall. Requirements are simple as the user should just fix the machine on the panel want to draw on and enter the size of the drawing area and machine specifications.

   
The required components for making of Vertical Plotter are as follows ::    
 

1. Arduino UNO
2. Power adapter
3. Servo motor
4. Stepper motor
5. CNC shield
6. Stepper motor driver
7. Heatsink for the stepper motor driver

8. Toothed belt
9. Power supply
10. Digital multimeter
11. Screwdriver
12. Wooden frame
13. Pend & paper
14. 3d printed pen holder
15. 3d printed steppter motor holder

   

 

     
Description of Components ::    
 
   
         
 
   
         
 
   
         
 
   
       
Circuit Connection Diagram    
     

 

   
       
Finding the 2 pairs out six cables in stepper using multi-meter    
     
       

Here is the connection between the stepper and servo as shown in the figure. For Servo -x, +5v and GND from the CNC shield. We used the power supply where we can adjust the current and voltage but 12v to 24 volt we had given 13v and 1Amp.

   
 

   
GRBL Control ::    
 

Grbl is a no-compromise, high performance, low cost alternative to parallel-port-based motion control for CNC milling. It will run on a vanilla Arduino (Duemillanove/Uno) as long as it sports an Atmega 328. The controller is written in highly optimized C utilizing every clever feature of the AVR-chips to achieve precise timing and asynchronous operation. It is able to maintain up to 30kHz of stable, jitter free control pulses.

It accepts standards-compliant g-code and has been tested with the output of several CAM tools with no problems. Arcs, circles and helical motion are fully supported, as well as, all other primary g-code commands. Macro functions, variables, and most canned cycles are not supported, but we think GUIs can do a much better job at translating them into straight g-code anyhow.

Grbl includes full acceleration management with look ahead. That means the controller will look up to 18 motions into the future and plan its velocities ahead to deliver smooth acceleration and jerk-free cornering.

   
 

   
       
 

Download GRBL, this is the direct link:

https://github.com/grbl/grbl/archive/master.zip

Extract on the desktop the grbl-master folder, you find it in the file master.zip

Run the Arduino IDE, currently I’m using version 1.8.1

From the application bar menu, choose: Sketch -> #include Library -> Add Library from file.ZIP…

Select the folder grbl that you can find inside the grlb-master folder and click on Open

   
       
To know the Perfect Way for Settings of GRBL    
 

These are the steps to be followed to mill a design

1.Make a 2d Drawing of the design you want to make
2.Consider the tolerance
3. Put the drawing into layers as per the cutting scheme
4.Arrange the pieces to minimize the wastage ofthe material
5.Leave ample distance between pieces to avoid overlap

   
       

Settings of GRBL is an important point to start the development. The first point that comes here is the primary set up in the software. So let’s go with the flow step by step.

   
Step-1
   

First of all, go to the software and then go to the file section where one can easily find some tools section.

   

Step-2

   
 

1. Go to the Tools section and select the baud rate according to the hardware. It is a device-specific method.
2. So, try it and see which baud rate gives you the right response at all. Before selecting the baud rate, there is one more thing to select that is an Arduino model.
3. Select Atmega 8 if it is an Uno model or select the nano model by checking the model number written on the device.

   
       
Step-3    
 

1. Type ‘$$’.
2. It should give a list then. It will consist of some gradually increasing numbers.
3. Then select them, and it will execute that to set up the device.

   
       
Approach for proper use of GRBL
   
 

Now, there is something that is to discuss how to use the GRBL. Well, GRBL is very easy to use.
One who uses GRBL does not necessarily have any knowledge about it previously. Yes, if one has a basic knowledge of coding, then it is good to go.
They need to define value first and then go for the console. There are the settings page and pendant page. The pendant page doesn’t mean at all.
The main configuration is done with settings. Then it needs to connect the USB with PC and the Arduino. Update the connection type by giving specific commands. Then see what response the firmware gives.
If the response is positive, then go with the flow. Otherwise, check the baud rate. Also, check the settings clearly. Check the model number as well.

   
What should one know about
   
 

1. All the technologies that are evolving today are connected with the same root somewhere. The main brain behind all of those is the specific hardware and the firmware that they use. So, simply GRBL is also a similar firmware which is used in Arduino.
2. Now Arduino is universal hardware that has some collection of ports in-built. One can easily imply any of the projects with any type of circuitry with this. Normally it is used to control stepper motors in a more controlled way.
3. It is very necessary to control the speed of the stepper. With a stepper motor, there are some projects like a laser cutter, automatic pain controlled printer, 3D printer, etc. can be made easily.


So, on this type of innovative project does need GRBL software and G-Code, where the implication of human language to machine language is very easy.

   
       
   

 

 

 
 
     

 

 

Universal G-Code Sender

A full featured G-Code platform used for interfacing with advanced CNC controllers like GRBL , TinyG, g2core and Smoothieware. Universal G-Code Sender is a self-contained Java application which includes all external dependencies and can be used on most computers running Windows, MacOSX or Linux.


Now you can test your Arduino with GRBL with Universal G-Code Sender, the link of the project on GitHub is https://winder.github.io/ugs_website/
and direct link to the download page is https://winder.github.io/ugs_website/download/


Universal G-Code Sender is a multi-platform program written in Java which requires a version 7 or higher to run.

 
 

 
     
 

 
       
  Polargraph  
       
 

This machine, a variation on the hanging-pen plotter is a conspicuous and wilfully naive attempt to break out of the pristine, pixel perfect, colour-corrected space that exists inside our computers. It's a drawing machine, that takes a pen (a human tool) and uses it to draw in a singularly robotic way, with some grand results.

A polar plotter also known as polargraph is a plotter which uses bipolar coordinates to produce vector drawings using a pen suspended from strings connected to two pulleys at the top of the plotting surface. This gives it two degrees of freedom and allows it to scale to fairly large drawings simply by moving the motors further apart and using longer strings. Some polar plotters will integrate a raising mechanism for the pen which allows lines to be broken while drawing.

 
 
All the necessary files can be found in the repository. The Micro-controller firmware and Application can be found inside this zip file.
 
       
 

Extract the zip file and copy the polargraph_server_a1 folder into the Arduino .

 

Copy the libraries to be used for the Arduino source code.(Copy the libraries in the Polargraph libraries folder to the Arduino libraries folder.)

Find the source code to use for the Arduino. (Open the cource code in the Polargraph/ arduino-source/ polargraph_server_a1 folder.)

Upload the polargraph_server_a1.ino source code to the Arduino.
Then open the Processing software. Find the SketchBook folder from file / preferences/ sketchbook/ location

 

Find the Processing libraries in the Polargraph folder. Copy all the library folders in this folder into the libraries folder in the Processing Sketchbook folder.

 

Move the Polargrapcontroller folder inside the Polargraph folder/ processing-source/ folder into the sketchbook folder.

 
       
 
 
       
 

configuration.ino
step and direction pins for the controller
#ifdef SERIAL_STEPPER_DRIVERS

#define MOTOR_A_ENABLE_PIN 8
#define MOTOR_A_STEP_PIN 2
#define MOTOR_A_DIR_PIN 5

#define MOTOR_B_ENABLE_PIN 8
#define MOTOR_B_STEP_PIN 3
#define MOTOR_B_DIR_PIN 6
AccelStepper motorA(1,MOTOR_A_STEP_PIN, MOTOR_A_DIR_PIN);
AccelStepper motorB(1,MOTOR_B_STEP_PIN, MOTOR_B_DIR_PIN);
#endif

 
       
   
       
   
       
       
  Downloads